﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Astronergy.MES.App.Library
{
    public class ExcelHelper
    {
        public DataSet ExcelToDS(string Path)
        {
            //此连接可以操作.xls与.xlsx文件 (支持Excel2003 和 Excel2007 的连接字符串)
            //备注： "HDR=yes;"是说Excel文件的第一行是列名而不是数据，"HDR=No;"正好与前面的相反。
            //       "IMEX=1 "如果列中的数据类型不一致，使用"IMEX=1"可必免数据类型冲突。
            string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "Data Source=" + Path + ";" + "Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";
            DataSet ds = null;

            OleDbConnection conn = new OleDbConnection(strConn);
            try
            {
                conn.Open();

                string strExcel = "";

                OleDbDataAdapter myCommand = null;

                strExcel = "select * from [MyData$]";

                myCommand = new OleDbDataAdapter(strExcel, strConn);

                ds = new DataSet();

                myCommand.Fill(ds, "table1");

                conn.Close();

            }
            catch 
            {
                conn.Close();
            }
            return ds;

        }
    }
}
